﻿#region Author
/* 
 * Nghiand
 */
#endregion
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Data;
using System.Data.SqlTypes;
using System.Configuration;
namespace CommandLib
{
    public sealed class ConfigSection : ConfigurationSection
    {
        /// <summary>
        /// Lấy các thông số trong cấu hình
        /// </summary>
        public ConfigSection() { }
       
        /// <summary>
        /// Lấy giá trị của khóa của khu vực cấu hình
        /// </summary>
        /// <param name="strSection"></param>
        /// <param name="strKey"></param>
        /// <param name="strDefValue"></param>
        /// <returns></returns>
        public static string GetConfigString(String strSection, String strKey, String strDefValue)
        {
            NameValueCollection nvCol = ConfigurationManager.GetSection(strSection) as NameValueCollection;
            if (nvCol != null)
            {
                string strConfig = nvCol[strKey] as String;
                if (strConfig != null)
                {
                    return strConfig;
                }
            }
            return strDefValue;
        }

        /// <summary>
        /// Hàm lấy giá trị các setfield trong file cấu hình và chuyển sang kiểu string[]
        /// </summary>
        /// <param name="strSection"></param>
        /// <param name="strKey"></param>
        /// <param name="strDefValue"></param>
        /// <returns></returns>
        public static string[] GetConfigString(String strSection, String strKey, String[] strDefValue)
        {
            NameValueCollection nvCol = ConfigurationManager.GetSection(strSection) as NameValueCollection;
            if (nvCol != null)
            {
                string strConfig = nvCol[strKey] as String;
                if (strConfig != null)
                {
                    return strConfig.Split(',');
                }
            }
            return strDefValue;
        }

        /// <summary>
        /// Lấy giá trị của khóa trong AppSetting
        /// </summary>
        /// <param name="setting"></param>
        /// <returns></returns>
        public static string GetAppSetting(string setting)
        {
            string val;
            try
            {
                val = ConfigurationManager.AppSettings[setting];
                if (val == null) val = "";
            }
            catch
            {
                val = "";
            }
            return val;
        }
   
    }
}
